#ifndef PROTOCOL_C_H
#define PROTOCOL_C_H

enum eAuthenticationService
{   
	AuthLogon,
};

enum eBaseService
{   
	BaseBind,
    BaseConnect,
	BaseEcho,
	BaseEncrypt,
	BaseForceDisconnect,
	BaseRequestDisconnect,
};



enum eChannelInvitationService
{   
	ChannelAcceptInvitation,
	ChannelDeclineInvitation,
	ChannelRevokeInvitation,
	ChannelSendInvitation,
	ChannelSubscribe,
	ChannelSuggestInvitation,
	ChannelUnsubscribe,
};

enum eChannelOwnerService
{
	ChannelCreateChannel,
	ChannelFindChannel,
	ChannelGetChannelId,
	ChannelGetChannelInfo,
	ChannelJoinChannel,
};

enum eChannelService 
{
	ChannelAddMember,
	ChannelDissolve,
	ChannelRemoveMember,
	ChannelSendMessage,
	ChannelSetRoles,
	ChannelUpdateChannelState,
	ChannelUpdateMemberState,
};

enum eChatService 
{
	ChatCreateChannel,
	ChatFindChannel,
	ChatJoinChannel,
};

enum eExchangeService
{
	CancelBid,
	CancelOffer,
	ClaimBidItem,
	ClaimBidMoney,
	ClaimOfferItem,
	ClaimOfferMoney,
	CreateOrderBook,
	GetBidFeeEstimation,
	GetConfiguration,
	GetOfferFeeEstimation,
	GetPaymentMethods,
	PlaceBidCreateOrderBookIfNeeded,
	PlaceBidOnOrderBook,
	PlaceOfferCreateOrderBookIfNeeded,
	PlaceOfferOnOrderBook,
	QueryBidsByAccountForItem,
	QueryBidsByOrderBook,
	QueryOffersByAccountForItem,
	QueryOffersByOrderBook,
	QueryOrderBooksSummary,
	QuerySettlementsByOrderBook,
	ReportAuthorize,
	ReportCancel,
	ReportSettle,
	SubscribeOrderBookStatusChange,
	SubscribeOrderStatusChange,
	UnsubscribeOrderBookStatusChange,
	UnsubscribeOrderStatusChange,
};

enum eFollowersService
{
	StartFollowing,
	StopFollowing,
	SubscribeToFollowers,
	UpdateFollowerState,

};

enum eFriendsService
{
	AcceptInvitation,
	DeclineInvitation,
	IgnoreInvitation,
	RemoveFriend,
	RevokeInvitation,
	SendInvitation,
	SubscribeToFriends,
	UnsubscribeToFriends,
	UpdateFriendState,
	ViewFriends,

};

enum eGameMasterService
{
	MasterCancelFindGame,
	MasterChangeGame,
	MasterFindGame,
	MasterGameEnded,
	MasterGetFactoryInfo,
	MasterGetGameStats,
	MasterJoinGame,
    MasterListFactories,
	MasterPlayerLeft,
	MasterRegisterServer,
	MasterRegisterUtilities,
	MasterSubscribe,
	MasterUnregisterServer,
	MasterUnregisterUtilities,
	MasterUnsubscribe,

};

enum eGameUtilitiesService
{
	UtilitiesCreateToon,
	UtilitiesDeleteToon,
	GetGameVariables,
	UtilitiesGetLoad,
	GetPlayerVariables,
	PresenceChannelCreated,
	ProcessClientRequest,
	UtilitiesSelectToon,
	UtilitiesTransferToon,

};

enum eNotificationService
{
	FindClient,
	RegisterClient,
	SendNotification,
	UnregisterClient,
};

enum ePartyService
{
	PartyCreateChannel,
	PartyGetChannelInfo,
	PartyJoinChannel,

};


enum ePresenceService
{
	PresenceQuery,
	PresenceSubscribe,
	PresenceUnsubscribe,
	PresenceUpdate,
};

enum eSearchService
{
	SearchFindMatches,
	SearchRemoveObjects,
	SearchSetObject,
};

enum eStorageService
{
	Execute,
	GameAccountSettings,
	GetHeroDigest,
	GetToonSettings,
	LoadAccountDigest,
	OpenColumn,
	OpenTable,

};

enum eToonExternalService
{
	CreateToon,
	DeleteToon,
	SelectToon,
	ToonList,
};


enum eUserManagerService
{
	ManagerAddRecentPlayers,
	ManagerBlockPlayer,
	ManagerRemovePlayerBlock,
	ManagerRemoveRecentPlayers,
	ManagerReportPlayer,
	SubscribeToUserManager,

};

#endif